package com.estudos.model;

import java.io.Serializable;
import java.util.Collection;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;

/**
 * Entity implementation class for Entity: Produto
 *
 */
@Entity
@Table(name = "produto")
public class Produto implements Serializable {
	private static final long serialVersionUID = 1L;
	
	public Produto() {
		super();
	}
		@Id
		@Column(name = "idproduto")
		@SequenceGenerator(name="gen_seq_produto_id",sequenceName="seq_produto_id")
		@GeneratedValue(generator="gen_seq_produto_id",strategy=GenerationType.AUTO)
		private long id;
		@Column(name = "nome")
		private String nome;
		@Column(name = "preco")
		private double preco;
		@Column(name = "descricao")
		private String descricao;
		@OneToOne(mappedBy="produto")
		@Cascade(org.hibernate.annotations.CascadeType.ALL)
		private Imagem foto;

		public Imagem getFoto() {
			return foto;
		}
		public void setFoto(Imagem foto) {
			this.foto = foto;
		}
		public double getPreco() {
			return preco;
		}
		public void setPreco(double preco) {
			this.preco = preco;
		}
		public String getDescricao() {
			return descricao;
		}
		public void setDescricao(String descricao) {
			this.descricao = descricao;
		}
		public long getId() {
			return id;
		}
		public void setId(long id) {
			this.id = id;
		}
		public String getNome() {
			return nome;
		}
		public void setNome(String nome) {
			this.nome = nome;
		}
			
}
